import pygame, sys
from settings import Settings
from ship import Ship
from alien import Alien
import game_functions as gf
from pygame.sprite import Group 
from game_stats import GameStats



def run_game():
	# 初始化游戏并创建一个屏幕对象
	pygame.init()
	ai_settings = Settings()
	screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
	pygame.display.set_caption('小游戏')

	# 创建飞船、一个存储子弹的编组、一个存储外星人编组、创建存储游戏统计信息的实例
	ship = Ship(ai_settings, screen)
	bullets = Group()
	aliens = Group()
	stats = GameStats(ai_settings)

	# 创建外星人群
	gf.create_fleet(ai_settings, screen, ship, aliens)

	# 创建一个外星人
	alien = Alien(ai_settings, screen)

	# 开始游戏的主循环
	while True:
		gf.check_events(ai_settings, screen, ship, bullets)

		if stats.game_active:
			ship.update()
			gf.update_bullets(ai_settings, screen, ship, aliens, bullets) 
			gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets)
		
		gf.update_screen(ai_settings, screen, ship, aliens, bullets)


run_game() 